public class Utils
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
Utils.ClosestCollisionData |
static class |
Utils.CommonChecker |
static interface |
Utils.Function |
static interface |
Utils.TargetChecker |
| Modifier and Type | Field and Description |
|---|---|
static float |
maxRangeUseGrid |
| Constructor and Description |
|---|
Utils() |
| Modifier and Type | Method and Description |
|---|---|
static float |
angleDiff(float a,
float b) |
static float |
applyAtLimits(Utils.Function f,
float a,
float b)
returns f(b) - f(a)
|
static float |
clamp(float value,
float min,
float max) |
static Utils.ClosestCollisionData |
collisionCheck(org.lwjgl.util.vector.Vector2f a,
org.lwjgl.util.vector.Vector2f b,
java.util.Collection<? extends com.fs.starfarer.api.combat.CombatEntityAPI> ignoreList,
com.fs.starfarer.api.combat.CombatEngineAPI engine)
Checks if the segment from a to b collides with an entity and returns the collision point closest to a.
|
static boolean |
doesSegmentHitShield(org.lwjgl.util.vector.Vector2f a,
org.lwjgl.util.vector.Vector2f b,
com.fs.starfarer.api.combat.ShieldAPI shield) |
static org.lwjgl.util.vector.Vector2f |
estimateInterceptPoint(com.fs.starfarer.api.combat.MissileAPI missile,
com.fs.starfarer.api.combat.CombatEntityAPI entity,
float frameTime,
org.lwjgl.util.vector.Vector2f shipVelLastFrame) |
static float |
estimateInterceptTime(com.fs.starfarer.api.combat.MissileAPI missile,
com.fs.starfarer.api.combat.CombatEntityAPI entity) |
static com.fs.starfarer.api.combat.ShipAPI |
getClosestEntity(org.lwjgl.util.vector.Vector2f location,
com.fs.starfarer.api.combat.ShipAPI.HullSize smallestToNote,
float maxRange,
boolean considerShipRadius,
Utils.TargetChecker checker)
The Misc version requires a ShipAPI as the anchor location, this can take an arbitrary anchor point
|
static float |
getDistWithEntity(org.lwjgl.util.vector.Vector2f location,
com.fs.starfarer.api.combat.CombatEntityAPI entity,
boolean considerRadius)
Can be negative for points inside the entity
|
static java.util.Collection<com.fs.starfarer.api.combat.CombatEntityAPI> |
getKNearestEntities(int k,
org.lwjgl.util.vector.Vector2f location,
com.fs.starfarer.api.combat.ShipAPI.HullSize smallestToNote,
boolean includeMissiles,
float maxRange,
boolean considerRadius,
Utils.TargetChecker checker) |
static boolean |
isClockwise(org.lwjgl.util.vector.Vector2f v1,
org.lwjgl.util.vector.Vector2f v2) |
static boolean |
isEntityNearby(org.lwjgl.util.vector.Vector2f location,
com.fs.starfarer.api.combat.ShipAPI.HullSize smallestToNote,
float maxShipRange,
float maxMissileRange,
boolean considerCollisionRadius,
Utils.TargetChecker checker)
Uses the collision grid.
|
static float |
modPositive(float x,
float mod) |
static float |
randBetween(float a,
float b) |
static org.lwjgl.util.vector.Vector2f |
randomPointInCircle(org.lwjgl.util.vector.Vector2f center,
float radius) |
static void |
safeNormalize(org.lwjgl.util.vector.Vector2f v) |
public static final float maxRangeUseGrid
public static Utils.ClosestCollisionData collisionCheck(org.lwjgl.util.vector.Vector2f a, org.lwjgl.util.vector.Vector2f b, java.util.Collection<? extends com.fs.starfarer.api.combat.CombatEntityAPI> ignoreList, com.fs.starfarer.api.combat.CombatEngineAPI engine)
public static float angleDiff(float a,
float b)
public static float randBetween(float a,
float b)
public static float estimateInterceptTime(com.fs.starfarer.api.combat.MissileAPI missile,
com.fs.starfarer.api.combat.CombatEntityAPI entity)
public static org.lwjgl.util.vector.Vector2f estimateInterceptPoint(com.fs.starfarer.api.combat.MissileAPI missile,
com.fs.starfarer.api.combat.CombatEntityAPI entity,
float frameTime,
org.lwjgl.util.vector.Vector2f shipVelLastFrame)
public static boolean isClockwise(org.lwjgl.util.vector.Vector2f v1,
org.lwjgl.util.vector.Vector2f v2)
public static com.fs.starfarer.api.combat.ShipAPI getClosestEntity(org.lwjgl.util.vector.Vector2f location,
com.fs.starfarer.api.combat.ShipAPI.HullSize smallestToNote,
float maxRange,
boolean considerShipRadius,
Utils.TargetChecker checker)
public static float getDistWithEntity(org.lwjgl.util.vector.Vector2f location,
com.fs.starfarer.api.combat.CombatEntityAPI entity,
boolean considerRadius)
public static java.util.Collection<com.fs.starfarer.api.combat.CombatEntityAPI> getKNearestEntities(int k,
org.lwjgl.util.vector.Vector2f location,
com.fs.starfarer.api.combat.ShipAPI.HullSize smallestToNote,
boolean includeMissiles,
float maxRange,
boolean considerRadius,
Utils.TargetChecker checker)
public static boolean isEntityNearby(org.lwjgl.util.vector.Vector2f location,
com.fs.starfarer.api.combat.ShipAPI.HullSize smallestToNote,
float maxShipRange,
float maxMissileRange,
boolean considerCollisionRadius,
Utils.TargetChecker checker)
public static float clamp(float value,
float min,
float max)
public static void safeNormalize(org.lwjgl.util.vector.Vector2f v)
public static float modPositive(float x,
float mod)
public static float applyAtLimits(Utils.Function f, float a, float b)
public static boolean doesSegmentHitShield(org.lwjgl.util.vector.Vector2f a,
org.lwjgl.util.vector.Vector2f b,
com.fs.starfarer.api.combat.ShieldAPI shield)
public static org.lwjgl.util.vector.Vector2f randomPointInCircle(org.lwjgl.util.vector.Vector2f center,
float radius)